package club.caihappy.store.mapper;

import club.caihappy.store.entity.Cart;
import club.caihappy.store.vo.CartVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * Created by DELL on 2022/3/23
 **/
public interface CartMapper {

    /**
     * 插入购物车数据
     *
     * @param cart
     * @return
     */
    Integer insert(Cart cart);

    /**
     * 根据cid修改购物车当前商品数量
     *
     * @param cid
     * @param num
     * @param modifiedUser
     * @param modifiedTime
     * @return
     */
    Integer updateNumByCid(Integer cid, Integer num, String modifiedUser, Date modifiedTime);


    /**
     * 通过uid和pid查询出当前用户该商品是否已在购物车
     *
     * @param uid
     * @param pid
     * @return
     */
    Cart findCart(Integer uid, Integer pid);

    /**
     * 根据uid联合t_cart和t_product查询用户购物车列表
     *
     * @param uid
     * @return
     */
    List<CartVO> findVOByUid(Integer uid);

    /**
     * 通过cid判断购物车数据是否存在
     *
     * @param cid
     * @return
     */
    Cart findByCid(Integer cid);

    /**
     * 根据cid删除购物车记录
     *
     * @param cid
     * @return
     */
    Integer deleteCart(Integer cid);

    /**
     * 根据cid集合联合t_cart和t_product查询用户购物车勾选列表
     *
     * @param cids
     * @return
     */
    List<CartVO> findVOByCid(Integer[] cids);
}
